package com.example.ecas.persistence;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.ecas.pojo.Tag;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface TagMapper extends BaseMapper<Tag> {

    // 返回指定id的Tag
    default Tag getTag(int id) {
        return this.selectById(id);
    }

    // 新增一个Tag，返回实际操作的行数
    default int addTag(Tag tag) {
        if (tag == null) {
            return 0;
        }
        QueryWrapper<Tag> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", tag.getId());
        if (!this.exists(queryWrapper)) {
            return this.insert(tag);
        }
        return 0;
    }

    // 修改Tag
    default int updateTag(Tag tag) {
        if (tag != null) {
            return this.updateById(tag);
        }
        return 0;
    }

    // 删除指定id的Tag
    default int deleteTag(int id) {
        return this.deleteById(id);
    }
}
